Managing configuration changes in a data processing system is a time consuming activity, particularly when the system includes a great number of target computers to which new software products must be distributed. A typical example is that of a large network with hundreds of workstations where software products are periodically upgraded in order to be abreast of the information technology development.
Software distribution applications have been proposed in the last years to assist a system administrator in efficiently managing deployment of software products from a central site of the system. An example of software distribution application is the “Tivoli Configuration Manager” by IBM Corporation. Typically, a configuration server controls building of packages including instructions that specify the actions to be carried out on the target computers for installing or removing selected software products. The packages are transmitted to the target computers; the corresponding instructions are then interpreted so as to enforce the desired software configuration.
The software distribution applications require an agent to run on each target computer for interacting with the configuration server. Therefore, the target computer must be properly configured before being able to participate in the software distribution process. As a consequence, the software distribution applications known in the art are unable to manage bare-metal machines with no operating system installed or failed computers needing to have the operating system restored (commonly referred to as pristine computers).
Some operating system installation applications are also available for allowing the administrator to setup pristine computers remotely. An example of operating system installation application is the “Remote Installation Service (RIS)” by Microsoft Corporation. Typically, the pristine computers are enabled to request a remote bootstrap when turned on; the request is received by an installation server, which downloads an image of the desired operating system to the pristine computer and controls its installation.
However, the configuration of the pristine computers remains a challenging and costly activity. Indeed, the process at first requires the setup of each pristine computer under the control of the installation server. An intervention on-site is then required to install the configuration agent on the computer. Only now can the distribution server address the computer for the installation of the desired products.
An additional drawback is that operation of the above-described operating system installation applications is bound to the physical characteristics of the images to be installed.
Moreover, the operating system installation applications known in the art offer no support for managing complex operations (such as the scheduling of the installation activities or the definition of abstract models for the target computers).